package cn.oms.billing.provider.dao.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("terminal_record")
@ApiModel(value="TerminalRecord对象", description="")
public class TerminalRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "支付终端ID（新增生成） UUID")
    @TableField("PAY_TERMINAL_ID")
    private String payTerminalId;

    @ApiModelProperty(value = "终端交易类型（对应交易支付方式表）")
    @TableField("TERMINAL_TRANSACTION_TYPE")
    private String terminalTransactionType;

    @ApiModelProperty(value = "支付款ID（对应付款交易记录）")
    @TableField("PAY_ID")
    private String payId;

    @ApiModelProperty(value = "支付金额")
    @TableField("PAY_PRICE")
    private BigDecimal payPrice;

    @ApiModelProperty(value = "币种")
    @TableField("PAY_CURRENCY")
    private String payCurrency;

    @ApiModelProperty(value = "交易日期时间（支付终端返回的日期时间）")
    @TableField("TRANSACTION_TIME")
    private LocalDate transactionTime;

    @ApiModelProperty(value = "卡号")
    @TableField("CARD_NO")
    private String cardNo;

    @ApiModelProperty(value = "商户编号")
    @TableField("MERCHANT_NO")
    private String merchantNo;

    @ApiModelProperty(value = "终端编号（支付宝返回时间）")
    @TableField("TERMINAL_NO")
    private String terminalNo;

    @ApiModelProperty(value = "检索号")
    @TableField("RETRIEVAL_REFERENCE_NO")
    private String retrievalReferenceNo;

    @ApiModelProperty(value = "跟踪号")
    @TableField("TRACE_NO")
    private String traceNo;

    @ApiModelProperty(value = "批次号")
    @TableField("BATCH_NO")
    private String batchNo;

    @ApiModelProperty(value = "授权号（支付宝安全校验码）")
    @TableField("AUTH_NO")
    private String authNo;

    @ApiModelProperty(value = "商品订单编号（生成的交易编号）")
    @TableField("MERCHANT_ORDER_ID")
    private String merchantOrderId;

    @ApiModelProperty(value = "平台订单编号（平台返回的订单编号）")
    @TableField("PLATFORM_ORDER_ID")
    private String platformOrderId;

    @ApiModelProperty(value = "订单ID（商户网站订单编号）")
    @TableField("ORDER_ID")
    private String orderId;

    @ApiModelProperty(value = "订单描述")
    @TableField("ORDER_DESC")
    private String orderDesc;

    @ApiModelProperty(value = "订单名称")
    @TableField("ORDER_NAME")
    private String orderName;

    @ApiModelProperty(value = "是否签名")
    @TableField("SIGNATURE_REQUIRED")
    private String signatureRequired;

    @ApiModelProperty(value = "进入模式")
    @TableField("ENTRY_MODE")
    private String entryMode;

    @ApiModelProperty(value = "付费标记（0未付费 1已付费）")
    @TableField("PAY_FLAG")
    private Integer payFlag;

    @ApiModelProperty(value = "付费时间")
    @TableField("PAY_TIME")
    private LocalDate payTime;

    @ApiModelProperty(value = "付费状态（0未返回 1成功 2失败）")
    @TableField("PAY_RETURN_TYPE")
    private Integer payReturnType;

    @ApiModelProperty(value = "付费状态返回时间")
    @TableField("PAY_RETURN_TYPE_TIME")
    private LocalDate payReturnTypeTime;

    @ApiModelProperty(value = "添加时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
